package net.aiion.weave.spi.naming.annotations;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import net.aiion.weave.spi.naming.Context;

/**
 * A {@code @DynamicScoped} annotated classes instances are managed in whatever {@link Context} they were request
 * from. Using this annotation on a class also requires that the {@link Named} annotation is set on the same class. This
 * scope is the default scope, if no other scope was explicitely set on a {@link Named} annotated class.
 * 
 * @author Stefan Braune
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({
    ElementType.TYPE
})
public @interface DynamicScoped
{
}
